package com.minimalist.common.entity.lindi.vo.contracttemplate;

import com.minimalist.common.config.mybatis.bo.PageReq;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;
import java.util.Objects;

/**
 * 林地指标平台_合同模板查询VO
 *
 * @author 11987
 * @since 2025-05-31
 */

@Schema(name = "林地指标平台_合同模板查询实体")
public class LindiContractTemplateQueryVO extends PageReq implements Serializable{
    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(name = "contractTemplateName", description = "模板名称", type = "string")
    private String contractTemplateName;

    @Schema(name = "contractTemplateType", description = "模板类型", type = "integer")
    private Integer contractTemplateType;

    @Schema(name = "status", description = "状态 0禁用 1正常", type = "integer")
    private Byte status;

    public LindiContractTemplateQueryVO(){
    }

    public String getContractTemplateName(){
        return contractTemplateName;
    }

    public void setContractTemplateName(String contractTemplateName){
        this.contractTemplateName = contractTemplateName;
    }

    public Integer getContractTemplateType(){
        return contractTemplateType;
    }

    public void setContractTemplateType(Integer contractTemplateType){
        this.contractTemplateType = contractTemplateType;
    }

    public Byte getStatus(){
        return status;
    }

    public void setStatus(Byte status){
        this.status = status;
    }

    @Override
    public boolean equals(Object o){
        if (this == o){
            return true;
        }
        if (o == null || getClass() != o.getClass()){
            return false;
        }
        if (!super.equals(o)){
            return false;
        }
        LindiContractTemplateQueryVO that = (LindiContractTemplateQueryVO) o;
        return Objects.equals(contractTemplateName, that.contractTemplateName) && Objects.equals(contractTemplateType, that.contractTemplateType) && Objects.equals(status, that.status);
    }

    @Override
    public int hashCode(){
        return Objects.hash(super.hashCode(), contractTemplateName, contractTemplateType, status);
    }
}
